/*
 * Copyright (c) 2010 Zauber S.A.  -- All rights reserved
 */
package ar.edu.itba.ia2010.geneticos.motor.api.sintaxistree.bitwise;

import ar.edu.itba.ia2010.geneticos.motor.api.sintaxistree.Expresion;
import ar.edu.itba.ia2010.geneticos.motor.api.sintaxistree.impl.ExpresionPrimitive;

/**
 * Clase base para primitivas terminales
 * 
 * @author Juan F. Codagnone
 * @since Mar 30, 2010
 */
public abstract class AbstractTerminalBinaryExpresionPrimitive 
     implements ExpresionPrimitive {


    /** @see ExpresionPrimitive#create(Expresion[]) */
    public final Expresion create(final Expresion... subexpresions) {
        throw new IllegalStateException();
    }

    /** @see ExpresionPrimitive#isTerminal() */
    public final boolean isTerminal() {
        return true;
    }
    
    /** @see ExpresionPrimitive#getSubExpresions() */
    public final int getSubExpresions() {
        return 0;
    }
}
